package com.chenfan.mcn.model.vo;

import com.chenfan.mcn.model.DocIntentionOrder;
import com.chenfan.mcn.model.DocIntentionOrderQuestion;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author wulg
 * @date 2022/10/27
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class IntentionOrderDetailVO extends DocIntentionOrder  {

    /**
     * 单据状态名称
     */
    private String statusName;

    /**
     * 当前审批流程ID
     */
    private Long flowId;

    /**
     * 审批流程ID集合-含撤回等
     */
    private String flowIds;

    /**
     * 审批节点名称
     */
    private String flowStatusName;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 红人昵称
     */
    private String starNickname;

    /**
     * 红人真实姓名
     */
    private String starName;

    /**
     * 执行人部门主管ID
     */
    private Long excutorLeaderId;

    /**
     * 执行人部门主管名字
     */
    private String excutorLeaderName;

    /**
     * 发布平台ID
     */
    private String platformId;

    /**
     * 发布平台
     */
    private String platformName;

    /**
     * 红人平台昵称
     */
    private String platNickName;

    /**
     * 我司合同主体id
     */
    private Long contractingId;

    /**
     * 我司合同主体
     */
    private String companyContractSubject;

    /**
     * 发布形式名称
     */
    private String publishFormName;

    /**
     * 合作品牌名称
     */
    private String cooperateBrandName;

    /**
     * 收入合同Tab对象
     */
    private IncomeContractTab incomeContractTab;

    /**
     * 执行单Tab对象
     */
    private ExcutionOrderTab excutionOrderTab;

    /**
     * 询单问题
     */
    private List<DocIntentionOrderQuestion> questionList;


    /**
     * 收入合同Tab
     */
    @Data
    public static class IncomeContractTab {

        /**
         * 收入合同id
         */
        private Long incomeContractId;

        /**
         * 收入合同单号
         */
        private String incomeContractCode;

        /**
         * 单据状态
         */
        private String approvalStatus;

        /**
         * 审批状态
         */
        private String flowStatus;

        /**
         * 归档状态
         */
        private String archivingStatus;

        /**
         * 合同金额
         */
        private BigDecimal businessAmount;

    }

    /**
     * 执行单Tab
     */
    @Data
    public static class ExcutionOrderTab {

        /**
         * 执行单id
         */
        private Long excutionOrderId;

        /**
         * 执行单号
         */
        private String excutionOrderCode;

        /**
         * 单据状态
         */
        private String approvalStatus;

        /**
         * 审批状态
         */
        private String flowStatus;

        /**
         * 执行单总金额
         */
        private BigDecimal actualQuotedPrice;

    }

}
